<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no" />
    <title>文件列表</title>
    <!--标准mui.css-->
    <link rel="stylesheet" href="../css/mui.min.css">
    <script src="../js/mui.min.js"></script>
    <!--App自定义的css-->
    <link rel="stylesheet" type="text/css" href="../css/app.css" />
    <link rel="stylesheet" href="../npl/css/vant.mini.css" />
    <script src="../js/vue.js"></script>
    <!-- <link rel="stylesheet" href="./yuyinwenzi/voice.css"> -->
    <!-- 语音文字组件 -->
    <script src="../js/jquery-3.6.0.min.js"></script>
    <script src="../js/vconsole.min.js"></script>
    <script src="../js/sm2.js"></script>
    <script src="../js/sm3.js"></script>
    <script src="../js/mixinYY.js"></script>
    <!-- <script src="../js/feedback.js"></script> -->
    <script src="../js/clipboard.js"></script>
    <script src="../js/flexible.js"></script>
    <script src="../npl/js/vant.mini.js"></script>
    <script src="../js/elementui.js"></script>
    <link rel="stylesheet" href="../css/elementui.css">
    <script src="./text.js" type="text/javascript"></script>
    <script src="../js/spark-md5.min.js"></script>
    <style>
        #app {
            width: 100%;
            height: 100%;
            overflow: hidden;
            background: #fff !important;
        }

        .trainTicketstitle {
            /* background-image: linear-gradient(to right, rgb(13, 121, 131), rgb(25, 179, 182)); */
            /* padding: 0rem 0.2rem; */
            color: #fff;
            height: 1rem;
            font-size: 0.35rem;
        }

        .mui-btn-blue,
        .mui-btn-primary,
        input[type=submit] {
            background-color: rgb(25, 179, 182);
            color: #fff;
            border: 1px solid rgb(25, 179, 182);
            border-radius: 4px;
            margin-right: 10px;
        }

        .mui-toast-container {
            top: 50%;
        }

        img {
            pointer-events: none !important;
        }

        .img-div {
            display: flex;
            align-items: center;
        }



        .List .van-swipe-cell__right {
            display: flex;
        }

        .List .van-cell__left-icon {
            font-size: 46px;
            line-height: 46px;
            height: 46px;
        }

        .van-icon-search {
            margin-top: 5px;
            font-size: 20px !important;
        }

        .delete-button {
            height: 100%;
            background-color: #F83831;
            border: none;
        }

        .delete-button .van-button__content {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .delete-button .van-button__content .van-icon {
            font-size: 20px;
            margin-bottom: 4px;
            margin-left: 4px;
        }

        .van-search__content {
            background-color: #fff !important;
        }

        input[type=search] {
            background-color: #fff;
            /* 设置背景颜色为白色 */
            border-radius: 6px;
            /* 设置圆角边框，你可以根据需要调整这个值 */
            border: 1px solid #ebedf0;
            /* 示例：添加边框样式 */
        }

        .custom-col {
            height: 70px;
            width: 70px;
            border-radius: 6px;
            background: url(../images/gzfa.png);
            background-size: 100% 100%;
            background-repeat: no-repeat;
        }

        .custom-col2 {
            height: 70px;
            width: 70px;
            border-radius: 6px;
            background: url(../images/gzzj.png);
            background-size: 100% 100%;
            background-repeat: no-repeat;
        }

        .custom-col3 {
            height: 70px;
            width: 70px;
            border-radius: 6px;
            background: url(../images/hytz.png);
            background-size: 100% 100%;
            background-repeat: no-repeat;
        }

        .custom-col4 {
            height: 70px;
            width: 70px;
            border-radius: 6px;
            background: url(../images/hyjy.png);
            background-size: 100% 100%;
            background-repeat: no-repeat;
        }

        .text-col {
            width: 70px;
            text-align: center;
        }

        #app {
            background-color: #fff;
        }

        .searchBackGroud {
            height: 75px;
            width: 115px;
            background: url(../image/sstc.png);
            background-size: 100% 100%;
            background-repeat: no-repeat;
        }

        .search-item {
            margin: 0.3rem 0.3rem 0rem 0.3rem;
            border-bottom: 1px solid #e6e8e9;
        }

        .search-item-in {
            color: #999;
            display: flex;
            align-items: center;
            line-height: 1rem;
        }

        .search-input {
            line-height: 0.8rem;
            height: 0.8rem;
            font-size: 0.3rem;
            border-radius: 25px;
            padding-left: 0.6rem;
            width: calc(100% - 1rem);
            border: 1px solid #e6e8e9;
        }

        .search-item input {
            border: 0px;
            margin-left: 0.1rem;
            width: calc(100% - 1rem);
        }

        .search-a {
            color: #9D9D9D;
            font-size: 0.3rem;
            margin-left: 0.1rem;
        }

        .search-a2 {
            font-size: 0.25rem;
            margin-left: 0.1rem;
            color: red;
            /* font-weight: 600; */
            line-height: 1.1rem;
            height: 1.1rem;
            flex-grow: 1;
        }

        .search-btn {
            height: 0.3rem;
        }

        .list-item {
            border-bottom: 1px solid #e6e8e9;
            height: 1.8rem;
            display: flex;
            margin: 0rem 0.4rem;
        }

        .list-item-l {
            width: 1.1rem;
            height: 1.8rem;
            line-height: 1.8rem;
            display: flex;
        }

        .list-item-r {
            padding-top: 0.1rem;
            width: calc(100% - 1.4rem);
        }

        .list-item-r2 {
            width: 0.3rem;
            display: flex;
            align-items: center;
        }

        .swipe-left {
            width: 0.3rem;
        }

        .img {
            height: 0.8rem;
            width: 0.7rem;
            margin: auto 0.2rem;
        }

        .title {
            padding-top: 0.4rem;
            font-weight: 600;
            font-size: 0.3rem;
            color: #2C2C2C;
            word-break: break-all;
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
        }

        .desc {
            padding-top: 0.1rem;
            font-size: 0.25rem;
            color: #999;
        }

        .search-btn-l {
            position: absolute;
            left: 0.6rem;
            line-height: 0.8rem;
        }

        .search-btn-2 {
            margin-left: 0.5rem;
            height: 0.3rem;
        }

        .search-cancle {
            color: rgb(63, 100, 236);
            font-size: 0.3rem;
            margin-left: 0.2rem;
        }

        .search-row {
            margin: 0.2rem 0.4rem 0rem;
            border-bottom: 1px solid #e6e8e9;
        }

        .no-bottom {
            border-bottom: 0px;
        }

        ::-webkit-scrollbar {
            display: none;
        }

        .upload_box {
            width: 100%;
            padding: 0.2rem 0.4rem 0rem;
            height: 2rem;
            display: flex;
            justify-content: space-between;
        }

        .upload_box .uplode:nth-child(1) {
            margin-right: 0.5rem;
        }

        .uplode {
            height: 100%;
            width: 100%;
            /* position: fixed;
            z-index: 2000 !important;
            right: 25px;
            bottom: 25px; */
            /* padding: 0 20px; */
        }

        .uplode_img img {
            width: 100%;
            height: 100%;
        }

        .uplode_img {
            width: 100%;
            /* float: right; */
            height: 100%;
        }

        /* 解决组件黑边 */
        .van-swipe-cell__right {
            margin-right: -1px;
        }



        .van-dialog__message--has-title {
            padding-top: 16px;
        }

        .list-enter-active,
        .list-leave-active {
            transition: all 0.5s;
        }

        .wrpper {
            /* width: 34px; */
            height: 64px;
            display: flex;
            justify-content: space-between;
            position: relative;
            align-items: center;
        }

        .List_wrapper .List_access {
            /* width: 1.5rem; */
            height: 16px;
            margin-left: 3px;
            line-height: 16px;
            background-color: rgba(95, 132, 247, 0.08);
            border-radius: 18px;
            font-family: PingFang SC;
            color: #2d343c;
            font-size: 10px;
            padding: 0 5px;
            /* border-right: 1px solid #ccc; */
            color: rgb(199, 197, 197);
            /* left: 55%;
              top: -2% */
            float: left;
        }

        .List_wrapper .List_time {
            height: 16px;
            line-height: 16px;
            /* background-color: rgba(95, 132, 247, 0.08); */
            border-radius: 18px;
            font-family: PingFang SC;
            color: #2d343c;
            font-size: 10px;
            padding: 0 5px;
            /* position: absolute; */
            /* float: left; */
            display: flex;
            /* align-items: center; */
            /* justify-content: space-between; */
            /* border-right: 1px solid #ccc; */
            color: #5f6871;
            font-size: 13px;
            left: 0%;
            top: 0%
        }

        .List_wrapper {
            height: 16px;
            width: 215px;
            line-height: 16px;
            /* position: absolute; */
            display: flex;
            /* left: 0; */
            /* top: 13% */
        }

        .wrpper_warp:active {
            filter: brightness(97%);
        }

        .wrpper_warp {
            display: flex;
            justify-content: space-between;
            position: relative;
            align-items: center;
            padding: 0 .5rem;
            background-color: #fff;

        }

        .List_wrapper1 {
            height: 16px;
            width: 85%;
            line-height: 16px;
            position: absolute;
            left: 17%;
            top: 52%
        }

        .List_img_clock {
            width: .3rem;
            height: .3rem;
        }

        .List_img img {
            width: 100%;
            height: 100%;
        }

        .List_img {
            width: .7rem;
            height: .7rem;
            margin-right: 15px;
        }


        .van-cell {
            padding: 0 10px !important;
            background: none !important;
        }

        .left {
            text-align: center;
        }

        .left b {
            line-height: 0.5rem;
            color: #fff;
        }

        .left .left1 {
            position: absolute;
            left: 0.1rem;
            top: 0.25rem;
        }

        .left_title {
            line-height: 0.5rem;
            color: #fff;
            font-weight: 600;
        }


        .List {
            /* height: calc(100% - 3rem) !important;
            height: calc(100% - 3rem - constant(safe-area-inset-bottom));
            height: calc(100% - 3rem -env(safe-area-inset-bottom)); */
            /* border-radius: .2rem; */
            flex: 1;
            /* border: 1px solid red; */
            /* padding: 0 .5rem; */
            overflow-y: scroll;
            width: 100%;
            height: calc(100% - 4.4rem);
            padding-bottom: 0.5rem;
        }

        #openFile {
            background: none !important;
            /* position: absolute; */
            font-weight: 500;
            color: #5f84f7;
            font-size: 11px;
            /* width: 20%; */
            height: 100%;
            top: 0;
            right: 0rem;
            padding: 0;
            border: none;
        }

        .transition_btn {
            /* margin-left: 10px; */
            border-radius: 50px;
            font-size: 13px !important;
        }

        .upload_box {
            width: 100%;
            padding: 0.2rem 0.4rem 0rem;
            height: 2.2rem;
            display: flex;
            justify-content: space-between;
        }

        .upload_box .uplode:nth-child(1) {
            margin-right: 0.5rem;
        }

        .uplode {
            height: 100%;
            width: 100%;
            /* position: fixed;
            z-index: 2000 !important;
            right: 25px;
            bottom: 25px; */
            /* padding: 0 20px; */
        }

        .uplode_img {
            width: 100%;
            /* float: right; */
            height: 100%;
        }

        /* #form-user{
            width: 100%;
            float: right;
            height: 100%;
        } */
        .form-user {
            width: 100%;
            height: 100%;
            position: relative;
        }

        .uplode_img img {
            width: 100%;
            height: 100%;
        }

        .wrpper {
            /* width: 34px; */
            height: 64px;
            display: flex;
            justify-content: space-between;
            position: relative;
            align-items: center;
        }

        .List_wrapper .List_access {
            /* width: 1.5rem; */
            height: 16px;
            margin-left: 3px;
            line-height: 16px;
            background-color: rgba(95, 132, 247, 0.08);
            border-radius: 18px;
            font-family: PingFang SC;
            color: #2d343c;
            font-size: 10px;
            padding: 0 5px;
            /* border-right: 1px solid #ccc; */
            color: rgb(199, 197, 197);
            /* left: 55%;
              top: -2% */
            float: left;
        }

        .List_wrapper .List_time {
            height: 16px;
            line-height: 16px;
            /* background-color: rgba(95, 132, 247, 0.08); */
            border-radius: 18px;
            font-family: PingFang SC;
            color: #2d343c;
            font-size: 10px;
            padding: 0 5px;
            /* position: absolute; */
            /* float: left; */
            display: flex;
            /* align-items: center; */
            /* justify-content: space-between; */
            /* border-right: 1px solid #ccc; */
            color: #5f6871;
            font-size: 13px;
            left: 0%;
            top: 0%
        }

        .List_wrapper {
            height: 16px;
            width: 215px;
            line-height: 16px;
            /* position: absolute; */
            display: flex;
            margin-bottom: .3rem;
            /* left: 0; */
            /* top: 13% */
        }

        .List_wrapper1 {
            height: 16px;
            width: 85%;
            line-height: 16px;
            position: absolute;
            left: 17%;
            top: 52%
        }

        .List_img_clock {
            width: .3rem;
            height: .3rem;
        }

        .List_img img {
            width: 100%;
            height: 100%;
        }

        .List_img {
            width: .7rem;
            height: .7rem;
            margin-right: 15px;
        }


        .van-cell {
            padding: 0 10px !important;
            background: none !important;
        }

        #multipartFile1 {
            width: 100%;
            height: 100%;
            position: absolute;
            opacity: 0;
            left: 0;
            top: 0;
            z-index: 999;
        }

        .form_btn {
            width: 100%;
            display: flex;
            padding: 0 5%;
            justify-content: space-between;
        }

        .form_btn .qx {
            width: 47%;
            background-color: rgba(45, 52, 60, 0.08);
            border-radius: 48px;
            font-family: PingFang SC;
            color: rgba(45, 52, 60, 0.8);
        }

        .form_btn .tj {
            width: 47%;
            background-color: #5f84f7;
            color: #fff;
            border-radius: 48px;
        }

        .van-popup--center {
            border-radius: 12px;
            width: 90%;
            padding: 20px 10px;
            display: flex;
            justify-content: space-around;
            flex-direction: column;
            height: 50%;
        }

        .van-cell {
            align-items: center;
            padding: 10px 2px 10px 5px;
            justify-content: space-between;
        }

        .popWrapper {
            width: 100%;
            height: 100%;
            justify-content: center;
            align-items: center;
            display: flex;
            flex-direction: column;
        }

        .fileImg {
            width: 100%;
            flex: 1;
            display: flex;
            flex-direction: column;
            padding: 14px .3rem 0;
        }

        .pop_title {
            font-family: PingFang SC;
            font-weight: bold;
            color: #2d343c;
            font-size: 16px;
        }

        .upload_img {
            width: 100%;
            height: 4.5rem;
        }

        .form_wrapper {
            display: flex;
            width: 100%;
            height: 100%;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            padding-top: .5rem;
        }

        .form_img {
            width: 25%;
            height: 38%;
        }

        .form_img img {
            width: 100%;
            height: 100%;
        }

        .form_text {
            font-weight: 500;
            margin-top: 4px;
            color: rgba(45, 52, 60, 0.6);
            font-size: 14px;
        }

        .flowPath {
            width: 100%;
            flex: 1;
        }

        .wrpper {
            /* width: 34px; */
            margin-top: 5px;
            height: 100%;
            display: flex;
            justify-content: space-between;
            position: relative;
            align-items: center;
        }

        .wrpper1 {
            /* width: 34px; */
            /* height: 64px; */
            width: 100%;
            display: flex;
            justify-content: space-between;
            position: relative;
            align-items: center;
            padding: .4rem 0;
            border-bottom: 1px solid #f1f1f1;
        }

        .List_title1 {
            width: 100%;
            height: .5rem;
            line-height: .5rem;
            position: absolute;
            font-family: PingFang SC;
            font-weight: 500;
            color: #2d343c;
            font-size: 13px;
            left: 16%;
            top: 20%
        }

        .List_title {
            max-width: 70%;
            /* height: .5rem; */
            line-height: .5rem;
            /* position: absolute; */
            font-family: PingFang SC;
            font-weight: 600;
            color: #2d343c;
            margin-bottom: .3rem;
            font-size: 16px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            /* left: 0%; */
            /* top: 48% */
        }

        .van-popup__close-icon--top-right {
            top: 11px;
            right: 11px;
        }

        .icon_del {
            /* position: absolute; */
            top: 20px;
            position: absolute;
            z-index: 1;
            cursor: pointer;
            right: 20px;
        }

        .omit {
            /* width: 200px; */
            /* display: flex;
            align-items: center; */
            display: flex;
            flex-direction: column;
            width: 90px;
            display: flex;
            align-items: center;
            justify-content: center;

        }

        .omit_img {
            width: 10px;
            height: 10px;
        }

        .omit_img img {
            width: 100%;
            height: 100%;
        }

        #openFile .van-progress {
            /* position: absolute; */
        }

        #openFile .van-progress__pivot {
            background: none !important;
        }


        #circle_img {
            animation: none;
            width: 100%;
            height: 100%;
        }

        @-webkit-keyframes circle {
            0% {
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
            }

            100% {
                -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
            }
        }

        @-moz-keyframes circle {
            0% {
                -moz-transform: rotate(0deg);
                transform: rotate(0deg);
            }

            100% {
                -moz-transform: rotate(360deg);
                transform: rotate(360deg);
            }
        }

        @keyframes circle {
            0% {
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
            }

            100% {
                -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
            }
        }

        [v-cloak] {
            display: none !important;

        }

        /* 解决组件黑边 */
        .van-swipe-cell__right {
            margin-right: -1px;
        }



        .van-dialog__message--has-title {
            padding-top: 16px;
        }

        .list-enter-active,
        .list-leave-active {
            transition: all 0.5s;
        }

        .list-enter,
        .list-leave-to

        /* .list-leave-active in <2.1.8 */
            {
            opacity: 0;
            transform: translateY(-30px);
        }

        .right_btn {
            width: 120px;
            height: 100%;
            display: flex;
            justify-content: space-between;
            background-color: #29d079;
        }

        .btn_l,
        .btn_l {
            width: 50%;
            height: 100%;
        }

        .van-button__content {
            display: flex;
            flex-direction: column;
        }

        .right_btn .van-icon__image {
            width: 1.5em;
            height: 1.5em;
        }

        .right_btn .van-button__icon {
            width: 1.5em;
            height: 1.5em;
        }

        .van_pop {
            align-items: center;
            height: 47%;
            padding: 10px !important;
        }

        .van-button--primary {
            background-color: #19A97B;
        }

        .p_btn {
            width: 48%;
            height: .8rem;
            background-color: #13C09B;
            border-radius: 30px;
            color: #fff
        }

        .van_pop_text {
            color: #000;
            font-size: 18px;
            font-weight: bold;
        }

        .checkBtn {
            /* width: 87%; */
            height: 50%;
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            /* border: 1px #13C09B dashed; */
        }

        .van-radio__icon--checked .van-icon {
            background-color: #13C09B;
            border-color: #13C09B
        }

        /* .van-radio:nth-child(1) {
            margin-bottom: .7rem;
        } */
        .radio_img {
            width: 65px;
            height: 65px;
            margin-bottom: .4rem;
        }

        .radio_img img {
            width: 100%;
            height: 100%;
        }

        .van-radio-group {
            display: flex;
        }

        .radio_box {
            display: flex;
            flex-direction: column;
            align-items: center;
        }


        .tishi {
            position: absolute;
            bottom: -.42rem;
            left: .48rem;
            color: red;
            z-index: 1;
            font-size: 13px;
        }

        .file-size-small {
            font-weight: 500;
            margin-top: 4px;
            color: rgba(45, 52, 60, 0.6);
            position: absolute;
            bottom: .4rem;
            font-size: 11px;
        }

        .back_r {
            width: .42rem;
            height: .48rem;
            line-height: .38rem;
        }

        ul .wrpper1 {
            padding: .3rem 0;
            /* height: 100px !important; 设置为你需要的高度 */
        }

        .title_box {
            width: 100%;
            align-items: center;
            display: flex;

        }

        .title_img {
            width: 25%;
            margin-left: 5px;
            /* line-height: .2rem; */
            margin-bottom: 0.2rem;
        }

        .title_img img {
            width: 100%;
            height: 100%;
        }

        .right_all {
            width: 0.1rem;
            margin-left: 0.06rem;

        }

        .van-share-sheet__options {
            height: 4.5rem;
            display: flex;
            justify-content:flex-start;
            flex-wrap: wrap;
        }

        .van-share-sheet__option {
            width: 25%;
        }

        .van-share-sheet__header {
            padding: 15px 16px;
            border-bottom: 1px solid #ebedf0;
            ;
        }

        .van-share-sheet__title {
            font-size: .37rem;
            color: #323233;
        }

        .van-share-sheet__options .van-share-sheet__option:nth-child(-n+3) {
            margin-bottom: .4rem;
        }

        .NamePop .van-popup--center {
            border-radius: 12px;
            width: 80%;
            padding: 20px 10px 10px;
            display: flex;
            justify-content: space-around;
            flex-direction: column;
            height: 25%;
        }

        .form_btn .van-button {
            width: 45%;
        }

        .mui-popup-button.mui-popup-button-bold {
            font-weight: 500 !important;
        }
        
    .file_pop .van-popup--center {
      height: 63% !important;
      border-radius: 12px;
      width: 80%;
      padding: 20px 10px 10px;

    }

    .search_list {
      width: 100%;
      display: flex;
    flex-direction: column;
      height: 100%;
     
    }
.List_wrappers{
  justify-content: space-around;
  flex: 1;

  overflow-y: scroll;
}
    .fileBox {
      height: 60px;
      /* width: 215px; */
      line-height: 16px;
      /* border-bottom: 1px solid #ebedf0; */
      /* position: absolute; */
      display: flex;
      /* margin-bottom: .3rem; */
      /* left: 0; */
      /* top: 13% */
    }

    .fileBox {
      
      height: 16%;
    }

    .file_title {
      width: 100%;
      height: 50px;
      font-size: 18px;
      border-bottom: 1px solid #ebedf0;
      text-align: center;
      line-height: 50px;
      font-weight: bold;
    }

    .file_name_h {
      display: flex;
      flex: 1;
      padding: 0 10px;
      align-items: center;
      justify-content: center;

      /* height: 1rem; */
    }
    .file_name_h_img{
      width: .6rem;
      height: .5rem;
    }
    .file_name_h_img img{
      width: 100%;
      height: 100%;
    }
    .file_name_text{
      flex: 1;
      height: 100%;
      word-break: break-all; /* 关键属性，替代原来的 normal */
      overflow-wrap: break-word; /* 辅助长单词换行，增强兼容性 */
      font-size: 16px;
      display: flex;
      align-items: center;
      /* align-content: center; */
      border-bottom: 1px solid #ebedf0;
      margin-left: 20px;
      line-height: 20px;
    }
    </style>
</head>

<body>
    <div id="app" v-cloak>
        <div class="is-loading">
            <div class="curtain">
                <div class="loadingBgc">
                    <div class="loader"></div>
                </div>
            </div>
        </div>
        <div class="trainTickets" style="height: calc(100% - 20px)">
            <div class="header_tit">
                <van-nav-bar title="智能会议" left-arrow>
                    <template #left>
                        <div class="back_l active-brightness" @click="home">
                            <img src="../image/left.png" alt="" />
                        </div>
                    </template>
                    <template #right>
                    </template>
                </van-nav-bar>
            </div>
            <div class="upload_box">
                <div class="uplode" v-cloak>
                    <div class="uplode_img" @click="showPop()">
                        <img src="../image/lu_file.png" class="active-brightness" alt="">

                    </div>
                </div>
                <div class="uplode" v-cloak style="right:2.4rem" @click="showPop('yuyin')">
                    <div class="uplode_img">
                        <img src="../image/lu_luyin.png" class="active-brightness" alt="">
                    </div>
                </div>
            </div>
            <div style="height: 100%;">
                <van-row :class="['search-row', isSearchFocused ? 'no-bottom' : '']">
                    <div class="search-item-in active-brightness" v-if="!showSearch">
                        <div class="search-a">我的文档</div>
                        <div class="search-a2">(仅保留30天文件)</div>
                        <!-- <input class="search-input" @keyup.enter="onSearch()" v-model="searchParams" placeholder="请输入搜索关键词"  v-if="showSearch" clearable @blur="showOrHide()"></input> -->
                        <div class="img-div active-brightness" @click="searchShow()">
                            <img class="search-btn" src="../image/search-btn.png" />
                        </div>
                        <div class="img-div active-brightness" @click="deleteAllFiles()">
                            <img class="search-btn-2" src="../image/qk.png" alt="" />
                        </div>
                    </div>
                    <div v-if="showSearch" style="line-height: 1rem;">
                        <van-icon name="search" class="search-btn-l"></van-icon>
                        <input v-if="showSearch" class="search-input" @keyup.enter="onOpen()" v-model="searchParams"
                            placeholder="请输入..."></input>
                        <span @click="onCancel" class="search-cancle active-brightness">取消</span>
                    </div>
                </van-row>

                <div v-if="isSearchFocused"
                    style="display: flex;align-items: center;justify-content: center;width: 100%;margin-top: 50px;">
                    <div class="searchBackGroud">
                    </div>
                </div>
                <div class="List" v-if="!isSearchFocused">
                    <van-list v-model="loading" :finished="finished" @load="getShorthandList" finished-text="没有更多了">
                        <transition-group name="list" tag="ul">
                            <van-swipe-cell v-for="(item,index) in listData" :key="item.id">
                                <div class="wrpper_warp">
                                    <div class="wrpper1">
                                        <div style="width: 95%;display: flex;" @click="shorthandBtn(index,item)">
                                            <!-- 查看 -->
                                            <!-- <div class="List_img"><img src="../image/voice.png" alt=""></div> -->
                                      <div style="width: 71%">
                                        <div class="title_box">
                                            <div class="List_title" v-text="item.messageTitle ">

                                            </div>
                                            <div class="title_img">
                                                <img v-if="item.isMinuteGenerated == 1" src="../image/yjy.png"
                                                    alt="">
                                                <img v-else-if="item.translation == 1" src="../image/yzx.png"
                                                    alt="">
                                            </div>
                                        </div>
                                        <div class="List_wrapper">
                                            <img class="List_img_clock" src="../image/clock.png" alt="">
                                            <span class="voice_length"></span>
                                            <div class="List_time">
                                                <span style="margin-right: 15px;">{{ item.voiceDuration | voiceDurationText
                                                }}</span>
                                                <span>{{ item.createTime | dateTimeText }}</span>
                                            </div>
                                        </div>
                                      </div>
                                            <div class="omit">
                                                <!-- <button id="openFile" type="button" v-if="item.translation == 4"
                                                    class="transition_btn"
                                                    style="background-color: #29d07922!important; padding: 2px 15px; color: #29d079;"
                                                    @click.stop="delAddConfirm(1,item.id)">智能优化</button> -->
                                                <!-- <button id="openFile" type="button" v-if="item.translation == 1" disabled>完成</button> -->
                                                <button id="openFile" v-if="item.translation == 3"
                                                    @click.stop="delAdd(1,item.id)"  class="transition_btn"
                                                    type="button" style="color:#13c09b">重新转写</button>
                                                <button id="openFile" v-else-if="item.translation == 0" type="button"
                                                    class="transition_btn" disabled style="color: #f6ab00;">正在排队</button>
                                                <button id="openFile" v-else-if="item.translation == 5" type="button"
                                                    class="transition_btn" disabled style="color: #f6ab00;">正在排队</button>
                                                <!-- <button id="openFile" v-else-if="item.translation == 1" type="button"
                                                    class="transition_btn" disabled style="color: #29d079;">
                                                    <van-icon name="success" size="16px" />
                                                </button> -->
                                                <button id="openFile" v-else-if="item.translation == 2" type="button"
                                                    class="transition_btn" style="border-radius: 0;">
                                                    <!-- <van-progress track-color="rgb(146 163 172)" style="width:40px !important"
                                      :percentage="percentageBtn" stroke-width="14" /> -->
                                                    <div style="color: #5f6871;">
                                                        <van-loading size="14px" />正在优化
                                                    </div>
                                                    <div style="color: #ee5d5d; font-size: 12px;">
                                                        还需等待{{ item.recordTime | recordTimeText }}
                                                    </div>
                                                </button>
                                                <!-- <div class="omit_img"> <img src="../image/leftIcon.png" alt=""></div> -->
                                            </div>
                                        </div>
                                      
                                        <div class="right_all" @click="openEdit(item)">
                                            <img style="width: 100%;height: 100%;" src="../image/more1.png" alt="">
                                        </div>
                                    </div>
                                </div>

                                <!-- <template #right>
                                <div class="right_btn">
                                    <div class="btn_l">
                                        <van-button style=" width: 100%;
                                height: 100%;" @click="joinBtn(item)" icon="../image/join.png" square text="分享"
                                            type="primary" />
                                    </div>
                                    <div class="btn_r">
                                        <van-button style=" width: 100%;
                            height: 100%;border: none;" @click="delAddConfirm(0,item.id)" icon="../image/del1.png" square
                                            text="删除" type="danger" />
                                    </div>
                                </div>
                            </template> -->
                            </van-swipe-cell>
                        </transition-group>
                    </van-list>
                    <van-cell />
                    <van-share-sheet :options="options" v-model="showMore" cancel-text="" @select="onSelect">
                        <template #title>
                            <div class="flex justify-between items-center w-full">
                                <span class="text-lg font-medium">更多操作</span>
                                <!-- 关闭按钮 -->
                                <van-icon style="position:absolute; top:15px;right:15px;" name="cross" size="18"
                                    class="cursor-pointer" @click="showMore = false" />
                            </div>
                        </template>
                    </van-share-sheet>
                </div>

            </div>
        </div>
        <van-popup class="van_pop" round closeable v-cloak :close-on-click-overlay="false" v-model="showShare">
            <div class="van_pop_text">{{ fileNamePop == 1 ? "同步内网网站" :"分享到i国网" }}</div>
            <div class="checkBtn">
                <van-radio-group v-model="radio">
                    <div class="radio_box" @click="radio = '1'">
                        <div class="radio_img"><img src="../image/join3.png" alt=""></div>
                        <van-radio name="1" style="font-size:13px">会议录音</van-radio>
                    </div>
                    <div class="radio_box" style="margin:0 .5rem;" @click="radio = '2'">
                        <div class="radio_img"><img src="../image/join2.png" alt=""></div>
                        <van-radio name="2" style="font-size:13px">会议记录</van-radio>
                    </div>
                    <div class="radio_box" @click="isMeetingSummaryDisabled ? ((e) => {
                        e.stopPropagation(); // 阻止事件冒泡
                        e.preventDefault(); // 阻止默认行为
                    }) : radio ='3'">
                        <div class="radio_img"><img src="../image/join4.png" alt=""></div>
                        <van-radio name="3" :disabled="isMeetingSummaryDisabled" style="font-size:13px">会议纪要</van-radio>
                    </div>
                </van-radio-group>
            </div>
            <van-button @click="downFile" class="p_btn">{{ fileNamePop == 1 ? "同步" :"分享"}}</van-button>
        </van-popup>
        <!-- 显示重命名弹框 -->
        <div class="NamePop">
            <van-popup style="min-height: 4rem;" :close-on-click-overlay="false" v-model="showPopName">
                <van-form>
                    <div style="text-align: center;font-size: 18px;font-weight:bold;margin-bottom: 10px;">重命名</div>
                    <!-- <div style="text-align: center;font-size: 14px;color:#ccc;margin-top: 8px;">是否结束会议记录并保存</div> -->
                    <van-field v-model="inputText" class="edit_title_input" placeholder="请输入标题" maxlength="100" />
                </van-form>
                <div class="form_btn">
                    <van-button type="default" size='10px' round @click="showPopName=false">取消</van-button>
                    <van-button type="primary" size='10px' color="#13C09B" round @click="reName">确定</van-button>
                </div>
            </van-popup>
        </div>
        <!-- 发送邮箱 -->
        <van-popup class="van_pop" round closeable v-cloak :close-on-click-overlay="false" v-model="showEmailPop">
            <div class="van_pop_text">发送邮箱</div>
            <div class="checkBtn">
                <van-radio-group v-model="emailBtn">
                    <div class="radio_box" style="margin-right: 1rem;" @click="emailBtn = '1'">
                        <div class="radio_img"><img src="../image/join2.png" alt=""></div>
                        <van-radio name="1" style="font-size:13px">会议记录</van-radio>
                    </div>
                    <div class="radio_box" @click="isMeetingSummaryDisabled ? ((e) => {
                        e.stopPropagation(); // 阻止事件冒泡
                        e.preventDefault(); // 阻止默认行为
                    }) : emailBtn = '2'">
                        <div class="radio_img"><img src="../image/join4.png" alt=""></div>
                        <van-radio name="2" style="font-size:13px" :disabled="isMeetingSummaryDisabled" >会议纪要</van-radio>
                    </div>
                </van-radio-group>
            </div>
            <van-button @click="sendMailBtn(0)" class="p_btn">发送</van-button>
        </van-popup>
         <!-- 选择路径 -->
    <div class="file_pop">
        <van-popup class="van_pop" round closeable v-cloak :close-on-click-overlay="false" v-model="showFilepath">
          <div class="search_list">
            <div class="file_title">选择文件夹</div>
  
            <div class="List_wrappers" >
              <div class="fileBox" @click="fileListBtn(item)" v-for="item in filePathList">
              <template v-if="item.pathName == '最近打开'">
                <div class="file_name_h">
                  <div class="file_name_h_img"><img src="../image/fileYellow.png" alt=""></div>
  
                  <div class="file_name_text">{{item.pathName}}</div>
                </div>
              </template>
              <template v-else>
                <div class="file_name_h">
                  <div class="file_name_h_img"><img src="../image/fileBlack.png" alt=""></div>
  
                  <div class="file_name_text">{{item.pathName}}</div>
                </div>
              </template>
              </div>
            </div>
  
          </div>
        </van-popup>
      </div>
        <van-popup v-cloak :close-on-click-overlay="false" v-model:show="showFile">
            <div class="icon_del" @click="delUplode">
                <van-icon name="cross" />
            </div>
            <div class="popWrapper">
                <div class="pop_title">文件上传</div>
                <div class="fileImg">
                    <div class="upload_img" :style="{
                        backgroundImage: 'url(../image/lu_bg1.png)',
                        backgroundRepeat: 'no-repeat',
                        backgroundSize: '100% 99%' // 新增样式
                      }">
                        <form class="form-user">
                            <div class="form_wrapper" @click="checkFile">
                                <p class="form_text">点击此处上传录音文件</p>
                                <p :class="fileSizeClass">{{ fileSizeMessage }}</p>
                            </div>
                        </form>
                    </div>
                    <div class="flowPath" v-if="progressBar">
                        <div class="wrpper">
                            <div class="List_img"><img src="../image/lu_play.png" alt=""></div>
                            <div class="List_title1">{{fileName | fileNametext}}</div>
                            <div class="List_wrapper1">
                                <el-progress :stroke-width="3" :percentage="progress" color="#13C09B"></el-progress>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </van-popup>
    </div>

    <script>
        new Vue({
            el: "#app",
            mixins: [MixinYY],
            data() {
                return {
                    inputText: '',
                    showPopName: false, //重命名
                    showEmailPop: false, //发送邮箱展开按钮
                    emailBtn: "1",
                    fileNamePop: '',
                    showShare: false, //分享按钮
                    showMore: false, //展开按钮
                    options: [{
                            id: 1,
                            name: '发送邮箱',
                            icon: '../image/voiceSend.png'
                        },
                        {
                            id: 2,
                            name: '同步内网网站',
                            icon: '../image/voiceTb.png'
                        },
                        {
                            id: 3,
                            name: '分享到i国网',
                            icon: '../image/voiceJ.png'
                        },
                        {
                            id: 4,
                            name: '重命名',
                            icon: '../image/voiceC.png'
                        },
                        {
                            id: 5,
                            name: '删除',
                            icon: '../image/voiceD.png'
                        },
                        {
                            id: 6,
                            name: '预览纪要',
                            icon: '../image/voiceL.png'
                        },
                    ],
                    showSearch: false,
                    // isSearchFocused: false, // 搜索框显示
                    searchParams: "", //搜索框绑定的文案信息
                    action: 0,

                    showPopover: false,
                    loading: false,
                    finished: true,
                    listData: [],
                    num: 0,
                    isSearchFocused:false,
                    disabled: false,
                    disabledInp: false,
                    showFile: false,
                    filesPdfName: '',
                    filesPdfSize: '',
                    // 设置每个分片的大小（字节）
                    CHUNK_SIZE: 5 * 1024 * 1024 + "", // MB
                    // 分片上传成功索引
                    succeed: [],
                    // 分片上传失败索引
                    // failed: [],
                    currentRate: 0,
                    progress: 0,
                    fileName: '',
                    progressBar: false,
                    showPopdel: false,
                    count: 0,
                    retryNum: 0,
                    debuggFile: false,
                    percentageBtn: 0,
                    estimate: 0,
                    estInterval: null,
                    percentageBtnTime: null,
                    channelId: '',
                    isflageIOX: false,
                    myindex: -1,
                    radio: '1',
                    formatList: ['mp3', 'wav', 'pcm', 'amr', 'm4a', "MP3", "WAV", "PCM", "AMR", "M4A"],
                    paths: '',
                    sceneNo: 31,
                    listNew: '', //每条数据的信息
                    filePathList: [], //选择文件夹的列表
                   showFilepath:false


                }
            },
            computed: {
               
                isMeetingSummaryDisabled() {
                    return this.listNew.isMinuteGenerated == 1 ? false : true;
                },
                dataWithoutSuffix() {
                    return this.listData.map(data => {
                        if (data.messageTitle) {
                            for (let i = 0; i < this.formatList.length; i++) {
                                if (data.messageTitle.endsWith(this.formatList[i])) {
                                    data.messageTitle = data.messageTitle.substring(0, data.messageTitle
                                        .lastIndexOf('.' + this.formatList[i]))
                                }
                            }
                        }
                        return data
                    })
                },
                fileSizeMessage() {
                    return '上传文件大小不超过400MB';
                },
                fileSizeClass() {
                    return 'file-size-small';
                }
            },
            filters: {
                voiceDurationText: (value) => {
                    if (!Number(value)) return "00:00";
                    const h = Math.floor(value / 3600)
                    const m = Math.floor(value % 3600 / 60)
                    const s = Math.floor(value % 60)
                    if (h) {
                        return `${h < 10 ? '0' + h : h}:${m < 10 ? '0' + m : m}:${s < 10 ? '0' + s : s}`
                    } else {
                        return `${m < 10 ? '0' + m : m}:${s < 10 ? '0' + s : s}`
                    }
                },
                dateTimeText: (value) => {
                    if (!value || new Date(value) == 'Invalid Date') return "";
                    const date = new Date(value)
                    const currentY = new Date().getFullYear()
                    const Y = date.getFullYear()
                    const M = date.getMonth() + 1
                    const D = date.getDate()
                    const h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
                    const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
                    return `${Y}年${M}月${D}日 ${h}:${m}`
                },
                recordTimeText: (value) => {
                    if (!value) return '1分钟';
                    const h = Math.floor(value / 3600)
                    const m = Math.floor(value % 3600 / 60)
                    const s = Math.floor(value % 60)
                    if (h) {
                        return `${h}小时${m}分钟`
                    }
                    if (m) {
                        return `${m}分钟`
                    }
                    return `1分钟`
                },
                fileNametext: (value) => {
                    if (!value) return "";
                    let data = value.split("");
                    if (data.length < 12) {
                        return value;
                    }
                    return value.slice(0, 12) + "...";
                },
            },
            created() {
                const _this = this
                $("#circle_img").css("animation", "circle 1s linear infinite")
                let jsApiList = []
                $.getScript("../js/jweixin-sgccigw-1.0.0.js" /*"js/jweixin-1.0.0.js"*/ , function () {
                    'use strict';
                    wx.ready(function () {
                        wx.onHistoryBack(() => {
                            _this.home()
                            return false
                        })
                    });
                    jsApiList = [
                        'onHistoryBack',
                        'ext_Net_Download',
                        'multiWindows_subscribe',
                        'ext_Net_MultiDownload',
                        'getZipAppDirectory',
                        'previewFile',
                        'ext_FileBrowser_StartPreView',
                        'ext_FileBrowser_AppointDirChooseFile',

                    ];
                    wx.config({
                        beta: true,
                        debug: false,
                        appId: corpid,
                        timestamp: '1626832073',
                        nonceStr: nonceStr,
                        signature: signature,
                        jsApiList: jsApiList
                    });
                });
            },
            mounted() {
                this.$nextTick(() => {
                    this.compatibleInput()
                    this.getShorthandList(0);
                   
                });
                addOperator(0, 0, "0", 0, 0, "0", 0, 0, "10");
            },

            methods: {
                getList() {
            const userId = sessionStorage.getItem("userId");
            const orgId = sessionStorage.getItem("unitId")
            iscp_port = sessionStorage.getItem("iscp_port") || "";
            let data = {
                "orgId": orgId,
                "userId": userId,
                "timestamp": new Date().getTime() + ""
            };
            data = JSON.stringify(data)
            let sign = sm3(data);
            let AuthenticationSession = sessionStorage.getItem("Authentication");
            var URL
            $.ajax({
                url: localUrlLink + iscp_port + "/tjAiAssistant/defaultPath/searchDefaultPathList",
                type: "post",
                async: false, //是否同步，false表示同步请求
                dataType: "json",
                data: data,
                headers: {
                    "Content-Type": "application/json;charset=UTF-8",
                    Authentication: AuthenticationSession,
                    sign: sign
                },
                success: (res, txt, xhr) => {
                    console.log(xhr.getResponseHeader("sign"),8989+"sign")

                    if (sm3(res.resultValueStr) == xhr.getResponseHeader("sign")) {
                        let Authentication = xhr.getResponseHeader("Authentication")
                        if (res.code == 200) {
                            if (Authentication) {
                                sessionStorage.setItem("Authentication", Authentication);
                                 this.filePathList = [{
                                        id: '0',
                                        userId: '0',
                                        orgId: '0',
                                        pathName: '最近打开',
                                        pathValue: '',
                                        sortOrder: null,
                                        createTime: '2025-08-20 16:04:28'
                                    },
                                    ...res.resultValue
                                ];

                            }
                        } else {
                            mui.toast(res.resultValue, {
                                duration: '1000',
                                type: 'div'
                            })
                        }
                    } else {
                        mui.toast('完整性校验失败', {
                            duration: '1000',
                            type: 'div'
                        })
                    }
                },
                error: (e) => {
                    mui.toast('请求异常,请稍后再试', {
                        duration: '1000',
                        type: 'div'
                    })
                },
            });
        },
                handleRadioClick(event) {
                    if (!this.listNew.jy) {
                        event.stopPropagation(); // 阻止事件冒泡
                        event.preventDefault(); // 阻止默认行为
                        return false;
                    } else {
                        this.radio = '3'
                    }
                },
               
                // 搜索框的取消
                onCancel() {
                    this.searchParams = '';
                    this.showSearch = false;
                    this.isSearchFocused = false;
                    this.getShorthandList()
                },
                //显示搜索框或者直接搜索
                searchShow() {
                    this.showSearch = true;
                    this.isSearchFocused = true;
                },

                createNonceStr(len) {
                    var e = len ? len : 16;
                    var t =
                        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
                        a = t.length,
                        n = "";
                    for (i = 0; i < e; i++)
                        n += t.charAt(Math.floor(Math.random() * a));
                    return n;
                },



                // 判断安卓还是ios
                compatibleInput() {
                    //获取浏览器的userAgent,并转化为小写
                    var ua = navigator.userAgent.toLowerCase();
                    //判断是否是苹果手机，是则是true
                    var isIos = ua.indexOf("iphone") != -1 || ua.indexOf("ipad") != -1;
                    if (isIos) {
                        this.isflageIOX = true;
                    } else {
                        this.isflageIOX = false;
                    }
                },
                showVoice() {
                    setTimeout(() => {
                        window.sessionStorage.removeItem("OnSiteShorthandItem");
                        $(location).attr("href", "OnShorthandDetails.html")
                    }, 10)
                },
                showPop(type) {
                    const filtered = this.listData.filter(item =>
                        item.translation === 0 || item.translation === 2
                    );
                    if (filtered.length == 2) {
                        mui.toast('2个录音正在排队或转译，请稍后再试', {
                            duration: 'long',
                            type: 'div'
                        })
                        return false
                    }
                   if(type == "yuyin"){
                    this.showFile = true;
                    this.getList()
                   } else {
                      this.showVoice()
                   }
                       
                    

                },
        checkFile() {
            // 开关是开启
            // 列表数据大于两条
            // 非苹果手机
          if(localStorage.getItem("showBtn") == 'true' && this.filePathList.length >= 2 && !this.isflageIOX ){
            console.log(999)
            this.showFile = false
            this.showFilepath = true
           
          } else {
            this.checkFilefun()
          }
        },
        // 点击文件夹中的选项
        fileListBtn(item) {
            this.showFilepath = false
            this.showFile = true
            this.checkFilefun(item)
        },
        checkFilefun(item) {
                    let _that = this
                    if (_that.disabledInp) {
                        mui.toast('正在上传文件...', {
                            duration: 'long',
                            type: 'div'
                        })
                        return
                    }
               
            var funName = item&&(item.id != 0) ? "ext_FileBrowser_AppointDirChooseFile" : "ext_FileBrowser_StartPreView"
            var dataNAme = item&&(item.id != 0) ? { "appointDirPath": item.pathName} : {} 
            wx.invoke(funName, {
                data:dataNAme
            }, function (res) {
                        _that.channelId = "net_upload_" + _that.createNonceStr(16) + new Date()
                            .getTime() + "";
                        _that.progress = 0
                        wx.invoke("multiWindows_subscribe", {
                            channelId: _that.channelId
                        }, function (res) {
                            if (res.err_msg == "multiWindows_subscribe:ok") {
                                var progress = Number(res.data.progress) >= 100 ? 99 : Number(
                                    res.data.progress)
                                _that.progress = progress > _that.progress ? progress : _that
                                    .progress
                            }
                        })
                        if (_that.isflageIOX) {
                            const suffix = res.name.split('.').reverse()[0]
                            if (!_that.formatList.includes(suffix)) {
                                mui.toast('选择的文件格式不支持', {
                                    duration: 'long',
                                    type: 'div'
                                })
                                return
                            }
                            if (checkFileNameForSensitiveWords(res.name)) {
                                mui.toast('检测到敏感内容，请确认后再试。', {
                                    duration: 'long',
                                    type: 'div'
                                })
                                return
                            }
                            if (Number(res.size) / 400000000 > 1) {
                                mui.toast('上传文件大小不能大于400MB', {
                                    duration: 'long',
                                    type: 'div'
                                })
                                return
                            }
                            if (Number(res.size) / 100000000 > 1) {
                                _that.CHUNK_SIZE = 10 * 1024 * 1024 + ""
                            }
                            _that.disabledInp = true
                            _that.checkList(res.filePath, res.name, _that.channelId)
                        } else {
                            var fileName
                            var fileSize
                            var filePath
                      if(res.name) {
                        fileName = res.name
                        fileSize = res.size
                        filePath = res.filePath
                    } else {
                        let recordArr = JSON.parse(res.result)
                        fileName = recordArr[0].name
                        fileSize = recordArr[0].fileSize
                        filePath = recordArr[0].path
                    }
                            const suffix = fileName.split('.').reverse()[0]
                            if (!_that.formatList.includes(suffix)) {
                                mui.toast('选择的文件格式不支持', {
                                    duration: 'long',
                                    type: 'div'
                                })
                                return
                            }
                            if (checkFileNameForSensitiveWords(fileName)) {
                                mui.toast('检测到敏感内容，请确认后再试。', {
                                    duration: 'long',
                                    type: 'div'
                                })
                                return false
                            }
                            if (Number(fileSize) / 100000000 > 1) {
                                _that.CHUNK_SIZE = 10 * 1024 * 1024 + ""
                            }
                            if (Number(fileSize) / 400000000 > 1) {
                                mui.toast('上传文件大小不能大于400MB', {
                                    duration: 'long',
                                    type: 'div'
                                })
                                return
                            }
                            _that.disabledInp = true
                            _that.checkList(filePath, fileName, _that.channelId)
                        }
                    })
                },

                checkList(path, name, id, hash, index) {
                    let that = this
                    that.progressBar = true
                    let iscp_port
                    iscp_port = sessionStorage.getItem("iscp_port") || "";
                    let Authentication = sessionStorage.getItem("Authentication");
                    const timestamp = new Date().getTime() + ""
                    let userId = sessionStorage.getItem("userId");
                    let sign = sm3(timestamp + "&" + userId)
                    that.fileName = name
                    let data = {
                        serverAddress: localUrlLink + iscp_port +
                            `/tjAiAssistant/storage/splitUpload2?channelId=${id}`,
                        filePath: path,
                        fragmentSize: that.CHUNK_SIZE,
                        fileName: name,
                        fileHash: hash ? hash : '',
                        upLoadFragmentIndex: index ? index : '',
                        channelId: id,
                        headerData: {
                            sign: sign,
                            userId: userId,
                            type: '0',
                            timestamp: timestamp,
                            Authentication: Authentication,
                        }
                    }
                    wx.invoke("ext_Net_FragmentUpload", {
                        data: data,
                    }, function (res) {
                        if (res.err_msg.endsWith(":ok")) { //成功结果
                            //上传完成
                            that.recording(id)
                        } else if (res.err_msg.endsWith(":cancel")) {
                            that.cleanData();
                            return
                        } else {
                            //上传失败
                            if (that.myindex != Number(res.upLoadFragmentIndex)) {
                                that.myindex = Number(res.upLoadFragmentIndex);
                                that.retryNum = 0;
                            }
                            setTimeout(() => {
                                if (that.retryNum > 4) {
                                    // that.retryNum = 0
                                        that.showFile = false
                                    
                                    var btnArray = ["取消", "确定"];
                                    var i = 0
                                    mui.confirm(
                                        "是否进行重试？",
                                        "上传失败",
                                        btnArray,
                                        (e) => {
                                            if (i > 0) return
                                            i++
                                            if (e.index == 1) {
                                                    that.showFile = true
                                                that.checkList(path, name, id, res.fileHash,
                                                    res.upLoadFragmentIndex)
                                            } else {
                                                that.cleanData()
                                            }
                                        }
                                    );
                                } else {
                                    that.retryNum++
                                    that.checkList(path, name, id, res.fileHash, res
                                        .upLoadFragmentIndex)
                                }
                            }, (that.retryNum + 1) * 1000)
                        }
                    })
                },
                cleanData() {
                    this.showPopdel = false
                    this.showFile = false;
                    this.num = 0
                    this.disabledInp = false
                    this.progressBar = false
                    this.loading = false
                    this.finished = false
                    this.listData = []
                    this.getShorthandList();
                },
                delUplode() {
                    let _that_ = this
                    if (_that_.disabledInp) {
                        _that_.showFile = false
                        var btnArray = ["取消", "确定"];
                        var i = 0
                        mui.confirm(
                            "是否终止上传？",
                            "消息提醒",
                            btnArray,
                            (e) => {
                                if (i > 0) return
                                i++
                                if (e.index == 1) {
                                    console.log(_that_.channelId, "_that_.channelId")
                                    wx.invoke("ext_Net_FragmentUploadCancel", {
                                        data: {
                                            requestTag: _that_.channelId
                                        }
                                    }, function (response) {
                                        console.log("ext_Net_FragmentUploadCancel end", response);
                                    })
                                    _that_.cleanData();
                                } else {
                                        _that_.showFile = true
                                }
                            }
                        );
                    } else {
                        _that_.showFile = false;
                    }
                },
                recording(id) {
                    userId = sessionStorage.getItem("userId");
                    unitId = sessionStorage.getItem("unitId");
                    iscp_port = sessionStorage.getItem("iscp_port") || "";
                    let data = {
                        "id": id,
                        "userId": userId,
                        "unitId": unitId,
                        "timestamp": new Date().getTime() + ""
                    };
                    data = JSON.stringify(data)
                    let sign = sm3(data);
                    let AuthenticationSession = sessionStorage.getItem("Authentication");
                    $.ajax({
                        url: localUrlLink + iscp_port + "/tjAiAssistant/Recording/recordingFileConvert",
                        type: "post",
                        async: false,
                        dataType: "json",
                        data: data,
                        headers: {
                            "Content-Type": "application/json;charset=UTF-8",
                            Authentication: AuthenticationSession,
                            sign: sign
                        },
                        success: (res, txt, xhr) => {
                            if (sm3(res.resultValueStr) == xhr.getResponseHeader("sign")) {
                                let Authentication = xhr.getResponseHeader("Authentication")
                                if (res.code == 200) {
                                    if (Authentication) {
                                        sessionStorage.setItem("Authentication", Authentication);
                                        this.progress = 100
                                        mui.toast('上传成功', {
                                            duration: 1000,
                                            type: 'div'
                                        })
                                        setTimeout(() => {
                                            this.cleanData()
                                        }, 1500)
                                        this.getShorthandList();
                                    }
                                } else if (res.code == 500) {
                                    mui.toast(res.resultValue, {
                                        duration: 'long',
                                        type: 'div'
                                    })
                                } else {
                                    mui.toast('请求异常,请稍后再试', {
                                        duration: 'long',
                                        type: 'div'
                                    })
                                }
                            } else {
                                mui.toast('完整性校验失败', {
                                    duration: 'long',
                                    type: 'div'
                                })
                            }
                        },
                        error: (e) => {
                            // $(".curtainVoice").css("display", "none");
                            mui.toast('请求异常,请稍后再试', {
                                duration: 'long',
                                type: 'div'
                            })
                        },
                    });
                },

                home() {
                    $(location).attr("href", "Home.html");
                },

                delPop() {
                    if (this.showPopdel) {
                        mui.toast('正在上传文件', {
                            duration: 'long',
                            type: 'div'
                        })
                        return false
                    }
                    this.count = 0,
                    this.showFile = false;
                    this.num = 0
                    this.disabledInp = false
                    this.progressBar = false
                    this.loading = false
                    this.finished = false
                    this.listData = []
                    this.getShorthandList();
                },
                delAddConfirm(num, id) {
                    console.log(8888)
                    const _this = this
                    if (num === 1) {
                        let obj = _this.listData.find(item => item.translation == 0 || item.translation == 2)
                        if (obj) {
                            mui.toast('正在排队或转译', {
                                duration: 'long',
                                type: 'div'
                            })
                        } else {
                            _this.delAdd(num, id)
                        }
                    }
                },
                // 语音删除功能跟转文字跟重试 三者一个接口
                delAdd(num, id) {
                    console.log(888)
                    userId = sessionStorage.getItem("userId");
                    iscp_port = sessionStorage.getItem("iscp_port") || "";
                    let data = {
                        "id": id,
                        "userId": userId,
                        "timestamp": new Date().getTime() + ""
                    };
                    data = JSON.stringify(data)
                    let sign = sm3(data);
                    let resResult
                    let AuthenticationSession = sessionStorage.getItem("Authentication");
                    var URL
                    if (num == 0) {
                        URL = "/tjAiAssistant/voice/deleteVoiceNotes"
                    } else {
                        URL = "/tjAiAssistant/voice/updateTranslationById"
                    }
                    $.ajax({
                        url: localUrlLink + iscp_port + URL,
                        type: "post",
                        async: false, //是否同步，false表示同步请求
                        dataType: "json",
                        data: data,
                        headers: {
                            "Content-Type": "application/json;charset=UTF-8",
                            Authentication: AuthenticationSession,
                            sign: sign
                        },
                        success: (res, txt, xhr) => {
                            if (sm3(res.resultValueStr) == xhr.getResponseHeader("sign")) {
                                let Authentication = xhr.getResponseHeader("Authentication")
                                if (res.code == 200) {
                                    if (Authentication) {
                                        sessionStorage.setItem("Authentication", Authentication);
                                        mui.toast(res.resultValue, {
                                            duration: 'long',
                                            type: 'div'
                                        })
                                        this.num = 0
                                        if (num == 0) {
                                            // 删除此条数据
                                            this.listData.splice(this.listData.findIndex(el => el
                                                .id == id), 1)
                                        } else {
                                            this.loading = false
                                            this.finished = false
                                            this.listData = []
                                            this.getShorthandList();
                                        }

                                    }
                                } else if (res.code == 500) {
                                    mui.toast(res.resultValue, {
                                        duration: '1000',
                                        type: 'div'
                                    })
                                } else {
                                    mui.toast('请求异常,请稍后再试', {
                                        duration: '1000',
                                        type: 'div'
                                    })
                                }
                            } else {
                                mui.toast('完整性校验失败', {
                                    duration: '1000',
                                    type: 'div'
                                })
                            }
                        },
                        error: (e) => {
                            mui.toast('请求异常,请稍后再试', {
                                duration: '1000',
                                type: 'div'
                            })
                        },
                    });
                },
                // 详情
                shorthandBtn(index, item) {
                    window.sessionStorage.setItem(
                        "OnSiteShorthandItem",
                        JSON.stringify(item)
                    );
                    if (item.access == 2 && item.translation != 1) { //实时语音并且是没有转写的或者是未转译完成的
                        $(location).attr("href", "OnShorthandDetails.html");
                    } else {
                        $(location).attr("href", "VoiceDetial.html");
                    }

                },
               

                // 语音列表接口
                getShorthandList(num, id) {
                    // this.finished = true;
                    // this.listData.push({
                    //     id: 1,
                    //     createTime: "05.12",
                    //     voiceDuration: "1000",
                    //     messageTitle: "你好你好你好你好你好你好你好你好你好你好你好你好你好你好 ",
                    //     isMinuteGenerated: 1,
                    //     translation: 3

                    // }, {
                    //     id: 2,
                    //     createTime: "05.12",
                    //     voiceDuration: "1000",
                    //     messageTitle: "你好你好你好你好你好你好你好你好你好你好你好你好你好你好 ",
                    //     isMinuteGenerated: '0',
                    //     translation: 0

                    // }, {
                    //     id: 3,
                    //     createTime: "05.12",
                    //     voiceDuration: "1000",
                    //     messageTitle: "你好你好你好你好你好你好你好你好你好你好你好你好你好你好 ",
                    //     isMinuteGenerated: '0',
                    //     translation: 2

                    // },{
                    //     id: 55,
                    //     createTime: "05.12",
                    //     voiceDuration: "1000",
                    //     messageTitle: "你好你好你好你好你好你好你好你好你好你好你好你好你好你好 ",
                    //     isMinuteGenerated: '0',
                    //     translation: 2

                    // }, {
                    //     id: 4,
                    //     createTime: "05.12",
                    //     voiceDuration: "1000",
                    //     messageTitle: "你好你好你好你好你好你好你好你好你好你好你好你好你好你好 ",
                    //     isMinuteGenerated: '0',
                    //     translation: 5

                    // }, )

                    // return
                    // $("#curtain").css("display", "block");
                    userId = sessionStorage.getItem("userId");
                    iscp_port = sessionStorage.getItem("iscp_port") || "";
                    this.num += 1
                    let data = {
                        "userId": userId, //用户id
                        "messageTitle":this.searchParams ? this.searchParams : '',
                        "timestamp": new Date().getTime() + "",
                        "number": this.num,
                    };
                    data = JSON.stringify(data)
                    let sign = sm3(data);
                    let AuthenticationSession = sessionStorage.getItem("Authentication");
                    $.ajax({
                        url: localUrlLink + iscp_port + "/tjAiAssistant/voice/queryNotesList",
                        type: "POST",
                        async: false, //是否同步，false表示同步请求
                        dataType: "json",
                        data: data,
                        headers: {
                            "Content-Type": "application/json;charset=UTF-8",
                            Authentication: AuthenticationSession,
                            sign: sign
                        },
                        success: (res, txt, xhr) => {
                            $("#curtain").css("display", "none");
                            $("#circle_img").css("animation", "none")
                            let sm3res = JSON.stringify(res)
                            if (sm3(res.resultValueStr) == xhr.getResponseHeader("sign")) {
                                let Authentication = xhr.getResponseHeader("Authentication")
                                if (res.code == 200) {
                                    if (Authentication) {
                                        sessionStorage.setItem("Authentication", Authentication);
                                    }
                                    this.total = res.resultValue.total
                                    // if (this.num == 1) {
                                    //     console.log(532, this.num)
                                    //      this.listData  = []
                                    // }
                                    res.resultValue.list.forEach((item) => {
                                        // 预计等待时间
                                        this.listData.push(item)
                                    })
                                    if (this.total == 0) {
                                        this.finished = true;
                                    }
                                    if (res.resultValue.list.length < 20) {
                                        this.finished = true;
                                    }
                                    // 加载状态结束
                                    this.loading = false;
                                    if (this.listData.length >= this.total) {
                                        this.finished = true;
                                    }
                                    this.listData.some(i => {
                                        if (i.translation === 2 || i.translation === 0) {
                                            this.doSomething(0); // 执行函数并传入参数0
                                            return true; // 终止遍历
                                        }
                                        return false; // 继续遍历
                                    });
                                    if (id == 1) {
                                        mui.toast("刷新完成", {
                                            duration: 'long',
                                            type: 'div'
                                        })
                                    }
                                } else {
                                    mui.toast(res.resultValue, {
                                        duration: 'long',
                                        type: 'div'
                                    })
                                }
                            } else {
                                mui.toast('完整性校验失败', {
                                    duration: 'long',
                                    type: 'div'
                                })
                            }
                        },
                        error: (e) => {
                            $("#curtain").css("display", "none");
                            $("#circle_img").css("animation", "none")
                            mui.toast('请求异常,请稍后再试', {
                                duration: 'long',
                                type: 'div'
                            })
                        },
                    });
                },

                timeList() {
                    setTimeout(() => {
                        this.num = 0
                        this.loading = false
                        this.finished = false
                        this.listData = []
                        this.getShorthandList(0);
                    }, 8000)
                },
                doSomething(item) {
                    if (item.translation === 2) {
                        this.estInterval = null
                        this.estimate = item.estimate
                        this.estInterval = setInterval(() => {
                            if (this.estimate > 0) {
                                this.estimate--
                            }
                        }, 1000)
                    }
                    this.timeList()
                },
            },
        })
    </script>
</body>

</html>